package com.example.mytips.utils;

import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;

import java.io.File;

public class PathUtil {

    /**
     * 根据路径获取文件名
     *
     * @param path 目录
     * @return
     */
    public static String getFileName(String path) {
        File file = new File(path);
        return file.getName().replaceFirst("[.][^.]+$", "");
    }


    /**
     * 根据路径获取VirtualFile，文件不存在会创建文件
     *
     * @param parentPath 文件所在的目录 包含最后的/
     * @param fileName 文件名，包括后缀
     */
    public static VirtualFile getVirtualIfNotCreateFile(String parentPath, String fileName) {
        // 获取 LocalFileSystem 实例
        LocalFileSystem localFileSystem = LocalFileSystem.getInstance();
        // 根据路径查找文件
        VirtualFile virtualFile = localFileSystem.findFileByPath(parentPath + fileName);
        if (virtualFile == null) {
            // 如果文件不存在，则创建

            VirtualFile parentPathVirtualFile = localFileSystem.findFileByPath(parentPath);

            try {
                virtualFile = localFileSystem.createChildFile(null, parentPathVirtualFile, fileName);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return virtualFile;
    }
}
